#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "CoreImageData.h"
#include "ImageIOWizard.h"
#include "VisWidgetBase.h"

#include "vtkEventQtSlotConnect.h"
#include "vtkSmartPointer.h"
#include "vtkCommand.h"
#include "vtkPointPicker.h"

#include <QMainWindow>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QList>
#include <QVTKWidget.h>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QVBoxLayout *m_VLayout;

    ImageIOWizard *m_ImageIOWizard;
    CoreImageData *m_CoreImageData;

    bool UnloadOldImage();
    QWidget* AddMaterial(Material *material);
       
private slots:
    void OnMenuLoadImage();
    void AutomaticSegChecked(bool checked);
    void MaterialChosen(int state);
};

#endif 
